package vue.panneau3.util;
import java.awt.Component;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;

import javax.swing.ImageIcon;
import vue.panneau3.*;

/**
 * classe d utilitaire pour le panneau 3 seulement !!
 * 
 * 
 * 
 * @author jean-marie codol
 *
 */
public class Util {

	// interdiction de construire une instance.
	private Util() {
	}
	
	
    public static Image createImage(String path) {
		java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
		java.net.URL imgURL = Representation2D.class.getResource(path);
		if (imgURL != null)
			return toolkit.getImage(imgURL) ;
		else
            return null;
    }
    
    
    /**
	 * Retourne une ImageIcon de l'image pass�e en param�tre (String) :<br>
	 * le param�tre peut etre un chemin relatif
	 * 
	 * @param path le chemin vers l image
	 * @return l'ImageIcon ou null
	 */
    public static ImageIcon createImageIcon(String path) {
    	java.net.URL imgURL = Representation2D.class.getResource(path);
        if (imgURL != null)
        	return new ImageIcon(imgURL);
       else
    	   return null;
    }
    
    
    
    
    /**
     * obtenir une image a partir d un comosant:
     * 
     * @param component
     * @return
     */
    public static Image getImage(Component component){
    	
    	if (component==null) {
    		return null ;
    	}

    	if(component==null){return null;}
    	int width = component.getWidth();
    	int height = component.getHeight();
    	BufferedImage image = new BufferedImage(width, height, 
    			BufferedImage.TYPE_INT_RGB);
    	Graphics2D g = image.createGraphics();
    	component.paintAll(g);
    	g.dispose();
    	return image;
    }
}
